package vashion.azeroth.core.service;

import java.util.ArrayList;
import java.util.List;

import vashion.azeroth.context.pojo.PersonalFavoritesItemContext;
import vashion.azeroth.core.personal.pojo.PersonalFavorites;
import vashion.azeroth.core.personal.pojo.PersonalFeed;
import vashion.azeroth.core.result.ApiResult;

public interface PersonalFavoritesService<T> {

	/**
	 * 添加收藏
	 * 
	 */
	public ApiResult<Boolean> addFavorit(PersonalFavorites personalFavorites);

	/**
	 * 取消收藏
	 * 
	 */
	public ApiResult<Boolean> cancelFavorite(PersonalFavorites personalFavorites);

	/**
	 * 查询我收藏的商品
	 * 
	 */
	public ApiResult<List<PersonalFavoritesItemContext>> queryMyFavoriteItem(Long memberId, int pageNo, int pageSize,
			String targetCurno);

	/**
	 * 查询我收藏的精选贴子
	 * 
	 */
	public ApiResult<List<PersonalFeed>> queryMyFacoritePost(Long memberId, int pageNo, int pageSize);

	/**
	 * 查询文章或贴子是否已收藏
	 * 
	 */
	public ApiResult<Boolean> queryIsFavorited(Long memberId, Integer type, String targetCode);

	/**
	 * 查询文章或贴子收藏数量
	 */

	public ApiResult<Integer> queryFavoriteCnt(Long memberId, Integer type, String targetCode);

}
